Lấy mẫu có trọng tâm Tích phân Monte-Carlo

Tích phân một chiều

Nếu biết hàm cần tích phân f(x) cư xử như nào, ta có thể chọn được một hàm g(x) có giá trị biến đổi gần giống |f(x)| trên miền cần tích phân, ta có thể biến đổi tích phân thành:

I = ∫ a b f ( x ) d x = ∫ a b f ( x ) g ( x ) g ( x ) d x = ∫ a b f ( x ) g ( x ) d G ( x ) {\displaystyle I=\int _{a}^{b}f(x)\,dx=\int _{a}^{b}{\frac {f(x)}{g(x)}}g(x)\,dx=\int _{a}^{b}{\frac {f(x)}{g(x)}}\,dG(x)}

với:

g ( x ) = d G ( x ) d x {\displaystyle g(x)={\frac {dG(x)}{dx}}}

và g(x) thỏa mãn điều kiện chuẩn hóa:

∫ a b g ( x ) d x = 1 {\displaystyle \int _{a}^{b}g(x)\,dx=1}

Lúc này có thể lấy các điểm xi ngẫu nhiên trong khoảng [a, b] theo phân bố xác suất g(x') để tìm giá trị tích phân:

I ≈ 1 N ∑ i = 1 N f ( x i ) g ( x i ) {\displaystyle I\approx {\frac {1}{N}}\sum _{i=1}^{N}{\frac {f(x_{i})}{g(x_{i})}}}

Hàm g(x) càng giống f(x) thì phương sai của f(x)/g(x) càng nhỏ và sai số của phép tính càng nhỏ.

Một bất lợi của phương pháp này là sai số có thể lớn nếu hàm g(x) được chọn gần bằng 0 tại những điểm mà f(x) khác 0. Lúc đó, phương sai của f(x)/g(x) có thể lớn đến vô cùng. Lỗi này có thể khó phát hiện khi miền giá trị tại đó g(x) bằng 0 là rất nhỏ.